Processing math: 100%


杭电多校 2019 R6

中国人何必要写英文题面为难中国人 = =

SaltyFish

以前写过 ε-(´∀`; )

NonsenseTime

加点 LIS。每次考虑把贡献放到之后所有比自己大的点,管它 ban 没 ban?……QAQ我还是不会树套树意外的解法

离线!分治?不!注意到数据范围有「generated randomly」

随机排列 LIS 期望长度 n

倒做,若删的点在当前 LIS 就重新求 LIS。O(nnlogn)

Code

MilkCandy

写在「拟阵」。奶糖 埃维昂awa! 甜甜

SpeedDog

Snowy Smile

首先一定四个边界都有点!好像可以枚举下和右边界的点,预处理上和左边界的点,然后二维数点一只 log?好笨啊。

正解:在框定左右边界时线段树维护纵向最大子段和, 一只 log。但是清真多了。

简单题想不到……

xy 要分开离散化,不然会 T。

Code

Faraway

士兵 10 人,坐标 1e9,模数 5

考虑拆绝对值,410 枚举 (xe,ye) 在每个点的哪个方向,确定范围,crt 合并?可以是可以,但是不合法状态太多了,效率太低。

正解清真巧妙:每个点把平面划成四份,共有 O(n2) 个区域,每个区域到所有点的距离不带绝对值。
枚举区域,然后怎么做?crt 合并?麻烦了。

lcm(1,2,3,4,5)=60,枚举 xeye60 的余数,O(n) 判合法,O(1) 计算该区域中有多少点,即可。

O(3600n3)

Code

TDL

心累…… 真正的乱搞题……

m 只有 1000。打表可以发现 f(n,m)n 不超过 1000

p=f(n,m)npn=k。由于 p1000,影响很小,n 应当在 k 附近,在 k±1000 范围内找一下即可。

Code

11Dimensions

中国 ACM 题好没意思…… 完蛋我疯狂脑内循环 Mili 的「我们 在羊水 中漫 步」和「Over (over and over)」怎么办在线等急

Stay Real

模拟当然没什么问题,但是性质是父亲一定比俩儿子小,按「父亲要比儿子后取」的规则最优取,其实就是从大往小取。排序后交替取即可。

Code

RidiculousNetizens

事情开始变得有一丢丢意思

统计「xGwxm」的连通子树 G 的个数。

首先敏锐的注意到选了 x 就必须选一溜祖先上去,这是个依赖背包问题。dpi,j 表示 dfs 序为 i 的位置之后乘积为 j 的方案数。m 太大了怎么办!<m 的权值 dp,>sqrtm 的权值只能选一个,加一维表示还能取几个 >m 的。有一种更方便的想法是,把此时乘上那个 >m 的值得到的 v 变成 m/v,此后把乘都表示为除。

这样是 O(nnm) 的,每个点作为根做一遍 dp 太费啦,我们点分治。

我靠…… 吐了呀 xml 你别再找完 rtwork(y) 了!T 疯

Code

ThreeInvestigators